package org.silkframework.execution.local

import org.silkframework.config.{Task, TaskSpec}
import org.silkframework.entity.{Entity, EntitySchema}
import org.silkframework.execution.EntityHolder

/**
  * A local table of entities.
  */
trait EntityTable extends EntityHolder {

  /**
    * The schema of the entities
    */
  def entitySchema: EntitySchema

  /**
    * The entities in this table.
    */
  def entities: Traversable[Entity]

  /**
    * The task that generated this table.
    * If the entity table has been generated by a workflow this is a copy of the actual task that has been executed.
    */
  def task: Task[TaskSpec]

}
